import Vue from 'vue'
import App from './App.vue'
Vue.config.productionTip = false


import MyCheckbox from './components/MyCheckbox'
// 技巧：局部的单词里加了s,全局的没有s
// 例如注册组件，局部的是：components 全局的是 component
Vue.component('MyCheckbox', MyCheckbox)

// 注册全局过滤器
Vue.filter('formatTime', (val) => {

  return val + '处理了时间'
})

// 全局自定义指令
// Vue.directive('指令名', {

//   inserted(el, binding) {

//   },
//   update(el, binding) {

//   }
// })

Vue.directive('color', (el, binding) => {

  // 不管是插入到dom时还是数据改变它都会这个方法
  console.log('调用了')
  el.style.color = binding.value

})


// 代码只执行1次，它会有缓存，会把你执行后的结果（最终暴露的结果）给缓存起来
import obj1 from './xx.js'
// 所以后面不会执行了，而是直接从缓存拿出数据
import obj2 from './xx.js'
import obj3 from './xx.js'
// 所以obj1 obj2 obj3 其实都只是指向同一个对象
obj1.name = 'rose'
console.log(obj1.name) // rose
console.log(obj2.name) // rose
console.log(obj3.name) // rose

new Vue({
  render: h => h(App),
}).$mount('#app')
